#include <iostream>
using namespace std;

/*
	const修饰成员函数
	   1.语法规则
	          返回值 函数名(形参) const
			  {
				  
			  }
	   2.作用
	      禁止程序员在这个成员函数中修改任何成员变量的值
	   3.特点
	      非成员函数不可以用const修饰
		  成员函数才可以用const修饰
	  
*/

//void fun() const  //编译报错: 非成员函数不可以用const修饰
//{
	//cout<<"非成员函数"<<endl;
//}

class Circle
{
public:
	Circle(float _r):pi(3.14),r(_r)
	{
		cout<<"构造函数被调用"<<endl;
	}
	//打印圆的信息,半径,周长,面积
	void show() const
	{
		//手痒,偷偷修改你的成员变量值
		//r=2.5;
		cout<<"半径: "<<r<<endl;
		cout<<"面积: "<<pi*r*r<<endl;
		cout<<"周长: "<<2*pi*r<<endl;
	}
private:
	const float pi; //圆周率
	float r; //半径
};

int main()
{
	Circle c1(1.2);
	c1.show();
	return 0;
}